001 /*********************************************************************************************** 002 * Tekijä: Jukka Salminen 003 * Opiskelijanumero: i79947 004 * Email: jukka.salminen@uwasa.fi 005 * Tekoaika: 23.9.2002 006 * Kurssi/vuosi: Ohjelmoinnin jatkokurssi/kevät 2002 007 * Työn tunnus: Harjoitustyö: Taulukkoeditori web-sivulle 008 *********************************************************************************************** 009 * JSApplet-luokka 010 *================ 011 * Versio 0.1 012 * Tämän luokka on sovelluksen graafinen käyttöliittymä. 013 * 014 * Metodit 015 *-------- 016 * iniComponents Luo graafisen käyttöliittymän tarvitsemat objektit. 017 * 018 * Jäsenmuuttujat 019 * -------------- 020 * m_sURL 021 * ------ 022 * String URL tai tiedosto, josta data haetaan 023 * 024 * Pääikkuna jaetaan kolmeksi JSPanel-luokasta peritytyväksi paneeliksi 025 * m_oPanel, m_oPanel2 ja m_oPanel3. Nämä asetellaan päällekkäin Boxlayoutilla. 026 * Paneeleissa olevat painonapit järjestetään Flowlayoutilla 027 * =============================================================================== 028 * m_oPanel sisältää objektit 029 * -------------------------- 030 * m_oScrollpane 031 * -------------- 032 * JScrollPane Container-objekti taulukolle m_oTable 033 * 034 * m_oTable 035 * -------- 036 * JSTable Taulukko, jota editoidaan 037 * =============================================================================== 038 * m_oPanel2 sisältää JSButton-objektit 039 * ------------------------------------ 040 * m_AddNewColumnButton Sarakkeen lisäys 041 * m_RemoveColumnButton Editoitavan sarakkeen poisto 042 * m_SaveButton Koko taulukon tallennus 043 * =============================================================================== 044 * m_oPanel2 sisältää JSButton-objektit 045 * ------------------------------------ 046 * m_InsertRowButton Rivin lisäys väliin 047 * m_AddRowButton Rivin lisäys loppuun 048 * m_RemoveRowButton Editoitavan rivin poisto 049 * =============================================================================== 050 * Paikalliset muuttujat 051 *---------------------- 052 * Ei ole 053 */ 054 package applet; 055 import javax.swing.*; 056 import java.awt.event.*; 057 import classes.*; 058 import tables.*; 059 public class JSApplet extends javax.swing.JApplet 060 { 061 public JSApplet() 062 { 063 initComponents(); 064 } 065 private void initComponents()//GEN-BEGIN:initComponents 066 { 067 m_oPanel = new forms.Panel1(); 068 m_oScrollPane = new javax.swing.JScrollPane(); 069 m_oTable = new tables.JSTable(); 070 m_oPanel2 = new forms.Panel1(); 071 m_AddNewColumnButton = new classes.JSActionButton(); 072 JSAction loAction = new TableAction(m_oTable); 073 m_AddNewColumnButton.addAction(loAction); 074 m_RemoveColumnButton = new classes.JSActionButton(); 075 m_RemoveColumnButton.addAction(loAction); 076 m_SaveButton = new classes.JSActionButton(); 077 m_SaveButton.addAction(loAction); 078 m_oPanel3 = new forms.Panel1(); 079 m_InsertRowButton = new classes.JSActionButton(); 080 m_InsertRowButton.addAction(loAction); 081 m_AddRowButton = new classes.JSActionButton(); 082 m_AddRowButton.addAction(loAction); 083 m_RemoveRowButton = new classes.JSActionButton(); 084 m_RemoveRowButton.addAction(loAction); 085 086 getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS)); 087 088 m_oScrollPane.setBorder(null); 089 m_oScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 090 m_oScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 091 m_oScrollPane.setMaximumSize(new java.awt.Dimension(0, 0)); 092 m_oScrollPane.setPreferredSize(new java.awt.Dimension(540, 300)); 093 m_oScrollPane.setAutoscrolls(true); 094 m_oTable.setModel(new tables.JSTableModel()); 095 m_oTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS); 096 m_oTable.setFont(new java.awt.Font("Dialog", 0, 14)); 097 m_oScrollPane.setViewportView(m_oTable); 098 099 m_oPanel.add(m_oScrollPane); 100 101 getContentPane().add(m_oPanel); 102 103 m_AddNewColumnButton.setText("AddColumn"); 104 m_AddNewColumnButton.setToolTipText("Lis\u00e4\u00e4 uusi sarake"); 105 m_oPanel2.add(m_AddNewColumnButton); 106 107 m_RemoveColumnButton.setText("RemoveColumn"); 108 m_RemoveColumnButton.setToolTipText("Poista sarake"); 109 m_oPanel2.add(m_RemoveColumnButton); 110 111 m_SaveButton.setText("Save"); 112 m_SaveButton.setToolTipText("Save"); 113 m_oPanel2.add(m_SaveButton); 114 115 getContentPane().add(m_oPanel2); 116 117 m_InsertRowButton.setText("InsertRow"); 118 m_InsertRowButton.setToolTipText("InsertRow"); 119 m_oPanel3.add(m_InsertRowButton); 120 121 m_AddRowButton.setText("AddRow"); 122 m_AddRowButton.setToolTipText("AddRow"); 123 m_oPanel3.add(m_AddRowButton); 124 125 m_RemoveRowButton.setToolTipText("RemoveRow"); 126 m_RemoveRowButton.setActionCommand("RemoveRow"); 127 m_RemoveRowButton.setLabel("RemoveRow"); 128 m_oPanel3.add(m_RemoveRowButton); 129 130 getContentPane().add(m_oPanel3); 131 132 }//GEN-END:initComponents 133 134 public void init() 135 { 136 m_sURL=getParameter("URL"); 137 showStatus("Source= "+m_sURL); 138 } 139 140 public void start() 141 { 142 m_oTable.setModel(new tables.JSTableModel(m_sURL)); 143 } 144 145 // Variables declaration - do not modify//GEN-BEGIN:variables 146 private classes.JSActionButton m_RemoveColumnButton; 147 private classes.JSActionButton m_AddRowButton; 148 private classes.JSActionButton m_AddNewColumnButton; 149 private tables.JSTable m_oTable; 150 private forms.Panel1 m_oPanel3; 151 private forms.Panel1 m_oPanel2; 152 private forms.Panel1 m_oPanel; 153 private classes.JSActionButton m_RemoveRowButton; 154 private javax.swing.JScrollPane m_oScrollPane; 155 private classes.JSActionButton m_InsertRowButton; 156 private classes.JSActionButton m_SaveButton; 157 // End of variables declaration//GEN-END:variables 158 private String m_sURL; 159 160 }